リモート環境でのアプリケーション設定
はじめに
今月からふるさと勤務になり基本的にリモートから業務を行うことになりました。業務を行うにあたり接続元IPを制限された環境へ接続する必要がありますが、この要件を満たすためにクラスメソッドではSOCKSプロキシサーバが設置されています。このSOCKSプロキシを利用するにはSSL-VPN接続を経由しています。
そこで業務を行うためにリモート環境でのアプリケーション設定をいくつか行いましたのでその作業をまとめます。
環境
- macOS Mojave
- ssh OpenSSH_7.9p1, LibreSSL 2.7.3
- git version 2.23.0
- DBeaver version 6.1.5
なおSOCKSプロキシサーバはホスト名がproxy.example.com、ポート番号が1080であり認証が不要なサーバと想定して作業を行っています。
SSH
ssh接続を行う際に認証が不要なSOCKSプロキシサーバ経由でアクセスするにはnc (netcat)を利用した以下のコマンドを実行することで接続できます。
ssh target_host.com -o "ProxyCommand nc -X 5 -x proxy.example.com:1080 %h %p"
上記のコマンドでも接続できるのですが、毎回SOCKSプロキシサーバのオプションを記述するのも大変なので
SOCKSプロキシサーバのオプションを~/.ssh/config
に設定します。
Host target_host HostName target_host.com ProxyCommand nc -X 5 -x proxy.example.com:1080 %h %p
さらに、SOCKSプロキシサーバ経由でアクセスするターゲットサーバが複数ある場合は下記のようにワイルドカードを使うことでプロキシサーバの設定とターゲットサーバの設定を分けて記述でき、管理が楽になります。
Host *-proxy ProxyCommand nc -X 5 -x proxy.example.com:1080 %h %p Host target_host-proxy HostName target_host.com Host target_host2-proxy HostName target_host2.com Host target_host3-proxy HostName target_host3.com
Git
リポジトリに移動し、下記のコマンドを実行します。
git config http.proxy 'socks5://proxy.example.com:1080'
このコマンドでリポジトリの .git/config にproxyの設定が以下の様に追加されます。
$ tail .git/config [http] proxy = socks5://proxy.example.com:1080
この設定によりSOCKSプロキシサーバ経由でリモートリポジトリにアクセスできるようになります。
DBeaver(SQLクライアントツール)
以前は他のGUIツールを使っていましたが、SOCKSプロキシサーバ経由でRedshiftへ接続できるツールを探している際にDBeaverに出会い使い勝手が良いので気に入って使っています。
以上でコネクションを作成できます。
まとめ
リモートで業務を行う際にはきちんとしたセキュリティ対策が必要になります。 クラスメソッドではリモートで業務行える環境が構築されているためアプリケーションに設定をすれば安心してリモートで仕事が行なえます。
最後まで読んで頂いてありがとうございました。